﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace GSManager
{
    public partial class AddNewProduct : Form
    {
        public AddNewProduct()
        {
            InitializeComponent();
            LoaiSanPham loaisp = new LoaiSanPham();
            comboBox_LoaiSP.DataSource = loaisp.LayDanhSach().Tables["LOAISANPHAM"];
            comboBox_LoaiSP.DisplayMember = "TenLoaiSanPham";
            comboBox_LoaiSP.ValueMember = "MaLoaiSanPham";
            comboBox_LoaiSP.SelectedIndex = -1;
        }
        public AddNewProduct(SanPham _sanpham)
        {
            InitializeComponent();
            sanpham = _sanpham;
            isupdate = true;
            if (isupdate == true)
            {
                comboBox_LoaiSP.Enabled = false;
                button_ThemLSP.Enabled = false;
                textBox_MaSP.ReadOnly = true;
                textBox_MaSP.Text = sanpham.MaSP;
                textBox_TenSP.ReadOnly = true;
                textBox_TenSP.Text = sanpham.TenSP;
                textBox_GiaNhap.Text = String.Format("{0:0,0}", sanpham.GiaNhap);
                textBox_GiaBanLe.Text = String.Format("{0:0,0}", sanpham.GiaBanLe);
                textBox_DonViTinh.Text = sanpham.DonViTinh;
                textBox_LuongNhapKho.Text = sanpham.SoLuong.ToString();
                textBox_TonToiThieu.Text = sanpham.TonToiThieu.ToString();
                textBox_GiaNhap.Focus();
                button_NhapLai.Enabled = false;
            }
        }
        SanPham sanpham=new SanPham();
        bool isupdate=false;
        private void button_ThemLSP_Click(object sender, EventArgs e)
        {
            AddNewKind cuaso = new AddNewKind();
            cuaso.ShowDialog();
            LoaiSanPham loaisp = new LoaiSanPham();
            comboBox_LoaiSP.DataSource = loaisp.LayDanhSach().Tables["LOAISANPHAM"];
            comboBox_LoaiSP.DisplayMember = "TenLoaiSanPham";
            comboBox_LoaiSP.ValueMember = "MaLoaiSanPham";
            
        }

        private void button_DongY_Click(object sender, EventArgs e)
        {
            if (isupdate == false)
            {
                if (comboBox_LoaiSP.SelectedValue == null)
                {
                    MessageBox.Show("Bạn chưa chọn loại sản phẩm!");
                    comboBox_LoaiSP.Focus();
                    return;
                }

                if (textBox_TenSP.Text == "")
                {
                    MessageBox.Show("Bạn chưa nhập tên sản phẩm");
                    textBox_TenSP.Focus();
                    return;
                }
            }
            if (textBox_GiaNhap.Text == "")
            {
                MessageBox.Show("Bạn chưa nhập giá nhập sản phẩm");
                textBox_GiaNhap.Focus();
                return;
            }
            if (textBox_GiaBanLe.Text == "")
            {
                MessageBox.Show("Bạn chưa nhập giá bán lẻ sản phẩm");
                textBox_GiaBanLe.Focus();
                return;
            }
            if (textBox_DonViTinh.Text == "")
            {
                MessageBox.Show("Bạn chưa nhập đơn vị tính");
                textBox_DonViTinh.Focus();
                return;
            }
            if (textBox_LuongNhapKho.Text == "")
            {
                MessageBox.Show("Bạn chưa nhập lượng hàng nhập kho");
                textBox_LuongNhapKho.Focus();
                return;
            }
            if (textBox_TonToiThieu.Text == "")
            {
                MessageBox.Show("Bạn chưa nhập lượng hàng tồn tối thiểu");
                textBox_TonToiThieu.Focus();
                return;
            }
           // LoaiSanPham loaisp=(LoaiSanPham)comboBox_LoaiSP.SelectedItem;
            if (isupdate == false)
            {
                sanpham.MaLoaiSP = comboBox_LoaiSP.SelectedValue.ToString();
                sanpham.MaSP = textBox_MaSP.Text;
                sanpham.TenSP = textBox_TenSP.Text;
            }
            sanpham.MoTa = textBox_MoTaSP.Text;
            sanpham.GiaNhap = decimal.Parse(textBox_GiaNhap.Text);
            sanpham.GiaBanLe = decimal.Parse(textBox_GiaBanLe.Text);
            sanpham.DonViTinh = textBox_DonViTinh.Text;
            sanpham.TonToiThieu = int.Parse(textBox_TonToiThieu.Text);
            sanpham.SoLuong = int.Parse(textBox_LuongNhapKho.Text);
            sanpham.HinhAnh = "";
            if (isupdate == false)
            {
                TonKho tonkho = new TonKho();
                tonkho.MaSanPham = sanpham.MaSP;
                tonkho.SoLuongBan = 0;
                tonkho.SoLuongMua = 0;
                tonkho.Luu();
                sanpham.ThemSanPham();
                MessageBox.Show("Đã thêm thành công");

            }
            else
            {
                sanpham.CapNhat();
                MessageBox.Show("Đã cập nhật thành công");

            }
            Close();
            button_NhapLai_Click(sender, e);

        }

        private void button_NhapLai_Click(object sender, EventArgs e)
        {

            LoaiSanPham loaisp = new LoaiSanPham();
            sanpham = new SanPham();
            comboBox_LoaiSP.DataSource = loaisp.LayDanhSach().Tables["LOAISANPHAM"];
            comboBox_LoaiSP.DisplayMember = "TenLoaiSanPham";
            comboBox_LoaiSP.ValueMember = "MaLoaiSanPham";
            comboBox_LoaiSP.ResetText();
            textBox_DonViTinh.ResetText();
            textBox_GiaBanLe.ResetText();
            textBox_GiaNhap.ResetText();
            textBox_LuongNhapKho.ResetText();
            textBox_MaSP.ResetText();
            textBox_MoTaSP.ResetText();
            textBox_TenSP.ResetText();
            textBox_TonToiThieu.ResetText();
            comboBox_LoaiSP.Focus();  
        }

        private void button_Thoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void textBox_TenSP_Leave(object sender, EventArgs e)
        {
            if (isupdate == true) return;
            if (textBox_TenSP.Text != "")
            {
               // sanpham = new SanPham();
                sanpham.TenSP = textBox_TenSP.Text;
                if (sanpham.KiemTraTenSanPham())
                {
                    MessageBox.Show("Sản phẩm này đã tồn tại! Mời nhập sản phẩm khác!");
                    textBox_TenSP.Focus();
                }
            }
        }

        private void comboBox_LoaiSP_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox_LoaiSP.SelectedValue==null) return;
            //LoaiSanPham loaisp = (LoaiSanPham)comboBox_LoaiSP.SelectedItem;
          //  sanpham=new SanPham();
            sanpham.MaLoaiSP=comboBox_LoaiSP.SelectedValue.ToString();
            textBox_MaSP.Text = sanpham.MaLoaiSP+(sanpham.DemSoSanPhamCungLoai()+1).ToString();
          

        }

        private void AddNewProduct_Load(object sender, EventArgs e)
        {
           
            
        }
        decimal tam=0;
        private void textBox_GiaNhap_KeyPress(object sender, KeyPressEventArgs e)
        {
           
        }

        private void textBox_GiaNhap_TextChanged(object sender, EventArgs e)
        {
          
        }

        private void textBox_GiaNhap_Leave(object sender, EventArgs e)
        {
            if (textBox_GiaNhap.Text == "")
            {

                return;
            }
            try
            {

                decimal tien = decimal.Parse(textBox_GiaNhap.Text);


                //MessageBox.Show(textBox_GiaNhap.Text);
                textBox_GiaNhap.Text = String.Format("{0:0,0}", tien);

            }
            catch (Exception)
            {
                MessageBox.Show("Bạn nhập sai định dạng!");
                textBox_GiaNhap.Focus();
            }
        }

        private void textBox_GiaBanLe_Leave(object sender, EventArgs e)
        {
            if (textBox_GiaBanLe.Text == "")
            {

                return;
            }
            try
            {

                decimal tien = decimal.Parse(textBox_GiaBanLe.Text);


                //MessageBox.Show(textBox_GiaNhap.Text);
                textBox_GiaBanLe.Text = String.Format("{0:0,0}", tien);

            }
            catch (Exception)
            {
                MessageBox.Show("Bạn nhập sai định dạng!");
                textBox_GiaBanLe.Focus();
            }
        }


        
    }
}
